

#pragma once

#include "ADTimeKernelGrad.h"

/**
 * Applies SUPG stabilization to the energy time derivative.
 */
class EnergyTimeDerivativeADKernelSUPG : public ADTimeKernelGrad
{
public:
	static InputParameters validParams();

	EnergyTimeDerivativeADKernelSUPG(const InputParameters& parameters);

protected:
	virtual ADRealVectorValue precomputeQpResidual() override;

	/// Velocity vector variable
	const ADVectorVariableValue& _velocity;
	const ADMaterialProperty<Real>& _energy_td_strong_residual_factor;
};
